Перейти к основному содержимому

Запланированные задачи

Управление запланированными задачами​


Администратор может точно настроить выполнение регулярных задач в разделе:
"Администрирование" → "Сервер" → "Задачи" → "Запланированные задачи".

Примечание: скрипты cron (admin/cli/cron.php или https://yoursite/admin/cron.php) по-прежнему необходимо запускать через равные промежутки времени. Рекомендуется выполнять cron каждую минуту.

Планировщик задач
Редактирование запланированной задачи

Нажатие на значок редактирования позволяет администратору указать минуту, час, день, месяц или день недели для выполнения задачи. Также можно сбросить задачу к настройкам по умолчанию или полностью отключить её.

В столбце "Следующий запуск" отображается информация о том, отключен ли плагин или задача (а также дата следующего выполнения задачи).

Цвета​


Если запланированная задача выделена желтым/оранжевым цветом, это означает, что её настройки были изменены по сравнению с исходными.

Если запланированная задача выделена красным цветом, это означает, что она достигла максимального числа попыток выполнения, то есть почти наверняка не работает.

scheduledtaskcolours.png

Обработка задач​


В разделе "Администрирование" → "Сервер" → "Задачи" → "Обработка задач" вы можете отключить/включить cron, а также просматривать и изменять настройки выполнения запланированных и разовых задач.

Время ожидания дополнительных задач для обработки можно настроить с помощью параметра "Время действия" (по умолчанию установлено значение 3 минуты).

Формат планирования задач​


При заполнении полей используйте тот же формат, что и в Unix cron. Примеры приведены ниже в зависимости от редактируемого поля:

  • * — каждую минуту, час, день, месяц.
  • */2 — каждые две минуты, каждые два часа или каждые два дня.
  • 2-10 — каждую минуту с 2-й по 10-ю после часа или каждый час с 2:00 до 10:00.
  • 0 — каждое воскресенье.
  • 1 — каждый понедельник или каждый январь.
  • 2,5 — 2-е и 5-е число месяца, или февраль и май, или вторник и пятница.

По умолчанию:
R означает, что при сохранении изменений выбирается случайное значение. Это помогает распределять задачи более равномерно, вместо того чтобы запускать слишком много задач в одно и то же время (например, в начале часа, в полночь и т. д.).

Задержка при сбое​


Если вы пытаетесь отладить задание cron, то могли заметить, что в поле "Задержка после неудачного запуска" появляется числовое значение. Это время в секундах, на которое cron отложит повторный запуск задачи. Чтобы обойти эту проблему в целях разработки, ознакомьтесь с разделом "Запланированные задания" здесь: "Администрирование через командную строку" → "Запланированные задания".

Запуск отдельных задач​


Чтобы иметь возможность запускать отдельные запланированные задачи с помощью ссылок "Запустить сейчас" на странице запланированных задач, необходимо:

  1. Включить настройку "Разрешить команду "Запустить сейчас" в планировщике задач" (tool_task | enablerunnow) в разделе "Администрирование" → "Безопасность" → "Параметры безопасности сайта"*.
  2. Указать "Путь к PHP CLI" (pathtophp) в разделе "Администрирование" → "Сервер" → "Системные пути".

Оба условия должны быть выполнены.

examplescheduledtasks.png

Специальные задачи​


В разделе "Администрирование" → "Сервер" → "Задачи" → "Специальные задачи" задачи можно просмотреть cпециальные задачи, сгруппированные по названиям классов.

При нажатии на название компонента/класса появляется ссылка для запуска соответствующей специальной задачи через интерфейс.

Специальные задачи также можно запускать по отдельности через командную строку с помощью скрипта admin/cli/adhoc_task.php. Доступные варианты:

  • Запуск по ID
  • Запуск по классу
  • Только неудавшиеся задачи

Также можно ограничить количество одновременно выполняемых задач, например, не более четырёх за раз.

Примеры команд CLI для запуска специальных задач можно найти в MDL-70975.

Задачи в процессе выполнения​


Текущие выполняемые задачи можно просмотреть в разделе: "Администрирование" → "Сервер" → "Задачи" → "Выполняемые сейчас задачи".

TasksRunningNow.png

Оригинал: https://docs.moodle.org/502/en/Scheduled_tasks